Conventionally, the creation of computer systems has involved the steps of (a) an analysis of requirements, (b) designing a system, (c) writing a program and then (d) testing. Both the steps of analysis and systems design are completely manual steps and necessitate the use of skilled personnel. Collectively steps (a) and (b) are responsible for the major portion of the costs for the development of computer systems which are born by large size organizations. This can also be viewed as follows ( a second view):
The stages in the creation of software for an organisation follow a well recognized pattern. They are:
1. An analyst analyzes the data provided by the customer organization culminating in the written preparation of system specifications. PA1 2. Design of the application software and preparation of program specifications for operating the organization. PA1 3. Program personnel write programs based on the specifications which collectively achieve control of the operating procedures of the organization. PA1 4. Program personnel test the individual programs and the analyst tests if they fit together to achieve control. PA1 (a) storing in a main memory of a computer system, a source series of questions which are presentable to a user in conversational language regarding the entities concerned in the organizational structure, the attributes of those entities, the relationships between those entities, PA1 (b) storing in the main or auxiliary memory in coded form, answers to the questions provided by the user which answers constitute the model of the organization and its systems, PA1 (c) progressively comparing the coded form of each answer with coded answers in response to earlier questions, PA1 (d) analyzing the comparisons and establishing by the comparisons which data are eligible for incorporation into the model.
All stages are manual and tedious and consequently, they represent a large proportion of the cost of customized software. A relatively simple organization might take a team of analysts several months to complete stages 1 and 2. The complexity of committing the data to paper specifications and then converting the specifications to readable source code is considerable but as each potential user usually has a unique organization in that each has different data and individual operating techniques and accompanying procedures, there is thought to be a limit to the extent to which these tasks can be simplified for the purposes of classification.
The values within the data are interrelated but the way in which they are interrelated tends to be highly specific to the organization for example, a product servicing department in one company may service the product, issue invoices for the servicing work they do but that might be all that it has in common with the corresponding department in a competitive company.